<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    let arr = [2, 3, 1, 34, 0, 14, 4, 5, 23]

    function quickSort(array) {
      if (array.length < 2) {
        return array;
      }
      const pivot = array[0];
      const left = [];
      const right = [];
      for (let i = 1; i < array.length; i++) {
        if (array[i] < pivot) {
          left.push(array[i]);
        } else {
          right.push(array[i]);
        }
      }
      return quickSort(left).concat([pivot], quickSort(right));
    }
    console.log(quickSort(arr))

    // 时间复杂度： 平均O(nlogn)， 最坏O(n2)， 实际上大多数情况下小于O(nlogn) 空间复杂度: O(logn)（ 递归调用消耗）
    // 稳定性: 不稳定
  </script>
</body>

</html>